home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / gtk-2.0 / gtk / gtksizegroup.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-04-25  |  3.6 KB  |  106 lines

  1. /* GTK - The GIMP Toolkit
  2.  * gtksizegroup.h: 
  3.  * Copyright (C) 2000 Red Hat Software
  4.  *
  5.  * This library is free software; you can redistribute it and/or
  6.  * modify it under the terms of the GNU Lesser General Public
  7.  * License as published by the Free Software Foundation; either
  8.  * version 2 of the License, or (at your option) any later version.
  9.  *
  10.  * This library is distributed in the hope that it will be useful,
  11.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13.  * Lesser General Public License for more details.
  14.  *
  15.  * You should have received a copy of the GNU Lesser General Public
  16.  * License along with this library; if not, write to the
  17.  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  18.  * Boston, MA 02111-1307, USA.
  19.  */
  20.  
  21. #ifndef __GTK_SIZE_GROUP_H__
  22. #define __GTK_SIZE_GROUP_H__
  23.  
  24. #include <gtk/gtkwidget.h>
  25.  
  26. G_BEGIN_DECLS
  27.  
  28. #define GTK_TYPE_SIZE_GROUP            (gtk_size_group_get_type ())
  29. #define GTK_SIZE_GROUP(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SIZE_GROUP, GtkSizeGroup))
  30. #define GTK_SIZE_GROUP_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SIZE_GROUP, GtkSizeGroupClass))
  31. #define GTK_IS_SIZE_GROUP(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SIZE_GROUP))
  32. #define GTK_IS_SIZE_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SIZE_GROUP))
  33. #define GTK_SIZE_GROUP_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SIZE_GROUP, GtkSizeGroupClass))
  34.  
  35.  
  36. typedef struct _GtkSizeGroup       GtkSizeGroup;
  37. typedef struct _GtkSizeGroupClass  GtkSizeGroupClass;
  38.  
  39. struct _GtkSizeGroup
  40. {
  41.   GObject parent_instance;
  42.  
  43.   GSList *widgets;
  44.  
  45.   guint8 mode;
  46.   
  47.   guint have_width : 1;
  48.   guint have_height : 1;
  49.   guint ignore_hidden : 1;
  50.  
  51.   GtkRequisition requisition;
  52. };
  53.  
  54. struct _GtkSizeGroupClass
  55. {
  56.   GObjectClass parent_class;
  57.  
  58.   /* Padding for future expansion */
  59.   void (*_gtk_reserved1) (void);
  60.   void (*_gtk_reserved2) (void);
  61.   void (*_gtk_reserved3) (void);
  62.   void (*_gtk_reserved4) (void);
  63. };
  64.  
  65. /**
  66.  * GtkSizeGroupMode:
  67.  * @GTK_SIZE_GROUP_NONE: group has no effect  
  68.  * @GTK_SIZE_GROUP_HORIZONTAL: group affects horizontal requisition
  69.  * @GTK_SIZE_GROUP_VERTICAL: group affects vertical requisition
  70.  * @GTK_SIZE_GROUP_BOTH: group affects both horizontal and vertical requisition
  71.  * 
  72.  * The mode of the size group determines the directions in which the size
  73.  * group affects the requested sizes of its component widgets.
  74.  **/
  75. typedef enum {
  76.   GTK_SIZE_GROUP_NONE,
  77.   GTK_SIZE_GROUP_HORIZONTAL,
  78.   GTK_SIZE_GROUP_VERTICAL,
  79.   GTK_SIZE_GROUP_BOTH
  80. } GtkSizeGroupMode;
  81.  
  82. GType            gtk_size_group_get_type      (void) G_GNUC_CONST;
  83.  
  84. GtkSizeGroup *   gtk_size_group_new           (GtkSizeGroupMode  mode);
  85. void             gtk_size_group_set_mode      (GtkSizeGroup     *size_group,
  86.                            GtkSizeGroupMode  mode);
  87. GtkSizeGroupMode gtk_size_group_get_mode      (GtkSizeGroup     *size_group);
  88. void             gtk_size_group_set_ignore_hidden (GtkSizeGroup *size_group,
  89.                            gboolean      ignore_hidden);
  90. gboolean         gtk_size_group_get_ignore_hidden (GtkSizeGroup *size_group);
  91. void             gtk_size_group_add_widget    (GtkSizeGroup     *size_group,
  92.                            GtkWidget        *widget);
  93. void             gtk_size_group_remove_widget (GtkSizeGroup     *size_group,
  94.                            GtkWidget        *widget);
  95.  
  96.  
  97. void _gtk_size_group_get_child_requisition (GtkWidget      *widget,
  98.                         GtkRequisition *requisition);
  99. void _gtk_size_group_compute_requisition   (GtkWidget      *widget,
  100.                         GtkRequisition *requisition);
  101. void _gtk_size_group_queue_resize          (GtkWidget      *widget);
  102.  
  103. G_END_DECLS
  104.  
  105. #endif /* __GTK_SIZE_GROUP_H__ */
  106.